home *** CD-ROM | disk | FTP | other *** search
/ Your Web Site Creator / Your Web Site Creator.iso / WebSite / data1.cab / Program_Executable_Files / Classes / HRCANVA2.CLA (.txt) < prev    next >
Encoding:
Java Class File  |  1999-01-13  |  4.0 KB  |  195 lines

  1. import java.applet.Applet;
  2. import java.awt.Canvas;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.image.ImageObserver;
  9.  
  10. public class HRCanvas2 extends Canvas implements Runnable {
  11.    Color bkColor;
  12.    Image bkImage;
  13.    Image osImage;
  14.    Graphics osg;
  15.    int width;
  16.    int height;
  17.    boolean noShade = false;
  18.    Color barColor;
  19.    int size;
  20.    int imageX;
  21.    int imageY;
  22.    Image displayImage;
  23.    int speed;
  24.    Thread theThread;
  25.    int increment;
  26.    int direction = 1;
  27.    boolean showRule;
  28.    Image imageRule;
  29.  
  30.    public HRCanvas2(Applet var1, int var2) {
  31.       this.GetParameters(var1, var2);
  32.    }
  33.  
  34.    public void Start() {
  35.       if (this.speed != -1) {
  36.          this.theThread = new Thread(this);
  37.          this.theThread.start();
  38.       }
  39.  
  40.    }
  41.  
  42.    public void Stop() {
  43.       if (this.theThread != null) {
  44.          this.theThread.stop();
  45.          this.theThread = null;
  46.       }
  47.  
  48.    }
  49.  
  50.    void GetParameters(Applet var1, int var2) {
  51.       String var3 = var1.getParameter("hrBkColor" + var2);
  52.       this.bkColor = AppletParam2.GetColor(var3, (Color)null);
  53.       if (this.bkColor != null) {
  54.          ((Component)this).setBackground(this.bkColor);
  55.       }
  56.  
  57.       var3 = var1.getParameter("hrBkImage" + var2);
  58.       this.bkImage = var1.getImage(var1.getCodeBase(), var3);
  59.       var3 = var1.getParameter("hrNoShade" + var2);
  60.       this.noShade = var3 != null;
  61.       var3 = var1.getParameter("hrColor" + var2);
  62.       this.barColor = AppletParam2.GetColor(var3, Color.gray);
  63.       var3 = var1.getParameter("hrSize" + var2);
  64.       this.size = AppletParam2.GetInt(var3, 2);
  65.       var3 = var1.getParameter("hrImage" + var2);
  66.       this.displayImage = var1.getImage(var1.getCodeBase(), var3);
  67.       var3 = var1.getParameter("hrSpeed" + var2);
  68.       this.speed = AppletParam2.GetInt(var3, -1);
  69.       if (this.speed != -1) {
  70.          var3 = var1.getParameter("hrIncrement" + var2);
  71.          this.increment = AppletParam2.GetInt(var3, 1);
  72.       }
  73.  
  74.       var3 = var1.getParameter("hrShowRule" + var2);
  75.       this.showRule = AppletParam2.GetBoolean(var3, true);
  76.       var3 = var1.getParameter("hrImageRule" + var2);
  77.       this.imageRule = var1.getImage(var1.getCodeBase(), var3);
  78.    }
  79.  
  80.    public void paint(Graphics var1) {
  81.       this.update(var1);
  82.    }
  83.  
  84.    public void update(Graphics var1) {
  85.       this.osg.setColor(((Component)this).getBackground());
  86.       this.osg.fillRect(0, 0, this.width, this.height);
  87.       if (this.bkImage != null) {
  88.          int var2 = this.bkImage.getWidth(this);
  89.          int var3 = this.bkImage.getHeight(this);
  90.          int var4 = ((Component)this).size().width / var2;
  91.          int var5 = ((Component)this).size().height / var3;
  92.          ++var4;
  93.          ++var5;
  94.  
  95.          for(int var6 = 0; var6 < var5; ++var6) {
  96.             for(int var7 = 0; var7 < var4; ++var7) {
  97.                this.osg.drawImage(this.bkImage, var7 * var2, var6 * var3, this);
  98.             }
  99.          }
  100.       }
  101.  
  102.       if (this.imageRule != null) {
  103.          int var8 = ((Component)this).size().width / this.imageRule.getWidth(this) + 1;
  104.  
  105.          for(int var11 = 0; var11 < var8; ++var11) {
  106.             int var15 = ((Component)this).size().height / 2 - this.imageRule.getHeight(this) / 2;
  107.             this.osg.drawImage(this.imageRule, var11 * this.imageRule.getWidth((ImageObserver)null), var15, this);
  108.          }
  109.       } else if (this.showRule) {
  110.          int var9 = 0;
  111.          int var12 = 0;
  112.          if (this.size % 2 != 0) {
  113.             var9 = this.height / 2 - 1 - this.size / 2;
  114.             var12 = this.height / 2 - 1 + this.size / 2;
  115.          } else {
  116.             var9 = this.height / 2 - 1 - (this.size / 2 - 1);
  117.             var12 = this.height / 2 - 1 + this.size / 2;
  118.          }
  119.  
  120.          if (this.noShade) {
  121.             this.osg.setColor(this.barColor);
  122.             if (this.size == 1) {
  123.                this.osg.drawLine(0, this.height / 2, this.width, this.height / 2);
  124.             } else {
  125.                for(int var16 = var9; var16 <= var12; ++var16) {
  126.                   this.osg.drawLine(0, var16, this.width, var16);
  127.                }
  128.             }
  129.          } else {
  130.             this.osg.setColor(Color.gray);
  131.             if (this.size < 2) {
  132.                this.osg.drawLine(0, this.height / 2, this.width, this.height / 2);
  133.             } else {
  134.                this.osg.drawLine(0, var9, this.width, var9);
  135.                this.osg.drawLine(0, var9, 0, var12 - 1);
  136.                this.osg.setColor(Color.white);
  137.                this.osg.drawLine(0, var12, this.width, var12);
  138.                this.osg.drawLine(this.width - 1, var9 + 1, this.width - 1, var12);
  139.             }
  140.          }
  141.       }
  142.  
  143.       if (this.displayImage != null) {
  144.          this.imageY = ((Component)this).size().height / 2 - this.displayImage.getHeight((ImageObserver)null) / 2;
  145.          this.osg.drawImage(this.displayImage, this.imageX, this.imageY, this);
  146.       }
  147.  
  148.       var1.drawImage(this.osImage, 0, 0, (ImageObserver)null);
  149.    }
  150.  
  151.    public synchronized void reshape(int var1, int var2, int var3, int var4) {
  152.       super.reshape(var1, var2, var3, var4);
  153.       this.width = var3;
  154.       this.height = var4;
  155.       this.osImage = ((Component)this).createImage(var3, var4);
  156.       this.osg = this.osImage.getGraphics();
  157.       this.imageX = 0;
  158.       ((Component)this).repaint();
  159.    }
  160.  
  161.    public void run() {
  162.       try {
  163.          while(true) {
  164.             Thread.sleep((long)this.speed);
  165.             ((Component)this).repaint();
  166.             if (this.displayImage != null) {
  167.                int var1 = this.displayImage.getWidth((ImageObserver)null);
  168.                this.imageX += this.direction * this.increment;
  169.                if (this.imageX > ((Component)this).size().width - var1) {
  170.                   this.direction = -this.direction;
  171.                   this.imageX = ((Component)this).size().width - var1;
  172.                } else if (this.imageX < 0) {
  173.                   this.direction = -this.direction;
  174.                   this.imageX = 0;
  175.                }
  176.             }
  177.          }
  178.       } catch (InterruptedException var2) {
  179.       }
  180.    }
  181.  
  182.    public Dimension minimumSize() {
  183.       return new Dimension(10, 10);
  184.    }
  185.  
  186.    public Dimension preferredSize() {
  187.       return new Dimension(10, 10);
  188.    }
  189.  
  190.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  191.       ((Component)this).repaint();
  192.       return true;
  193.    }
  194. }
  195.